package com.ruoyi.system.service.impl;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.system.domain.vo.SjAiChatQuestionAndAnswerVO;
import com.ruoyi.system.domain.vo.SjAiChatTitleVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.SjAiChatMapper;
import com.ruoyi.system.domain.SjAiChat;
import com.ruoyi.system.service.ISjAiChatService;

/**
 * 智能问答Service业务层处理
 * 
 * @author zrr
 * @date 2024-11-04
 */
@Service
public class SjAiChatServiceImpl implements ISjAiChatService 
{
    @Autowired
    private SjAiChatMapper sjAiChatMapper;

    /**
     * 查询智能问答
     * 
     * @param id 智能问答主键
     * @return 智能问答
     */
    @Override
    public SjAiChat selectSjAiChatById(Integer id)
    {
        return sjAiChatMapper.selectSjAiChatById(id);
    }

    /**
     * 查询智能问答列表
     * 
     * @param sjAiChat 智能问答
     * @return 智能问答
     */
    @Override
    public List<SjAiChat> selectSjAiChatList(SjAiChat sjAiChat)
    {
        return sjAiChatMapper.selectSjAiChatList(sjAiChat);
    }

    /**
     * 新增智能问答
     * 
     * @param sjAiChat 智能问答
     * @return 结果
     */
    @Override
    public int insertSjAiChat(SjAiChat sjAiChat)
    {
        sjAiChat.setCreateTime(DateUtils.getNowDate());
        return sjAiChatMapper.insertSjAiChat(sjAiChat);
    }

    /**
     * 修改智能问答
     * 
     * @param sjAiChat 智能问答
     * @return 结果
     */
    @Override
    public int updateSjAiChat(SjAiChat sjAiChat)
    {
        sjAiChat.setUpdateTime(DateUtils.getNowDate());
        return sjAiChatMapper.updateSjAiChat(sjAiChat);
    }

    /**
     * 批量删除智能问答
     * 
     * @param ids 需要删除的智能问答主键
     * @return 结果
     */
    @Override
    public int deleteSjAiChatByIds(Integer[] ids)
    {
        return sjAiChatMapper.deleteSjAiChatByIds(ids);
    }

    /**
     * 删除智能问答信息
     * 
     * @param id 智能问答主键
     * @return 结果
     */
    @Override
    public int deleteSjAiChatById(Integer id)
    {
        return sjAiChatMapper.deleteSjAiChatById(id);
    }

    /**
     * 历史记录标题查询
     * @param userId
     * @return
     */
    @Override
    public List<SjAiChatTitleVO> selectSjAiChatTitleById(String userId) {
        return sjAiChatMapper.selectSjAiChatTitleById(userId);
    }

    /**
     * 查询对应标题问答记录
     * @param sjAiChat
     * @return
     */
    @Override
    public List<SjAiChatQuestionAndAnswerVO> selectSjAiChatQuestionAndAnswer(SjAiChat sjAiChat) {
        String userId = sjAiChat.getUserId();
        Long titleId = sjAiChat.getTitleId();
        return sjAiChatMapper.selectQuestionAndAnswer(userId, titleId);
    }

    /**
     * 查询最大标题ID
     * @param userId
     * @return
     */
    @Override
    public Long selectLastTitleId(String userId) {
        return sjAiChatMapper.selectLastTitleId(userId);
    }
}
